iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0

不知不覺,鐵人賽已經進行到了一半,沒想到竟然撐的到如今。給自己和隊友們一個讚!

今天我們要來介紹一樣神奇的 model,model可以幫助我們以程式來管理資料庫。

建立 app

首先我們先建立一個名為 products 的 app

docker-compose run app sh -c "python manage.py startapp products"

在settings.py 的 INSTALLED_APPS 中 加入 'products'

編寫 Model

我們在建立好之app資料夾中,可以看到 models.py
我們在其中增加一個 product 的 class

class Product(models.Model):
    uploader = models.CharField(max_length = 30,blank=True,null=True )
    name = models.CharField(max_length = 30,blank=True,null=True )
    status = models.CharField(max_length = 15, blank=True,null=True,default='NEW')
    description = models.TextField(blank=True,null=True)
    view = models.IntegerField(blank=True,null=True)
    price = models.IntegerField(blank=True,null=True)

透過這段程式,Django 可以將資料庫進行創建修改。

修改完之後我們一樣執行 makemigrations

docker-compose run app sh -c "python manage.py makemigrations"

螢幕出現以下資訊

Migrations for 'products':
  products/migrations/0001_initial.py
    - Create model Product

執行 migrate將改變套用至資料庫

docker-compose run app sh -c "python manage.py migrate"

此時我們進入資料庫就可以看到此時我們進入資料庫就可以看到資料庫多了一個products的 table囉~

加入 Admin

另外若想要在admin當中管理products相關資料,我們可以在admin.py中加入下內容

from .models import Product

admin.site.register(Product)

加入後我們便可以在admin頁面中看到我們所建立好的 Products

https://ithelp.ithome.com.tw/upload/images/20210928/20140477QNY3qdO5aT.png

雖然一開始有點不熟悉,但是相信大家應該都可以感受到他的方便性,只要精通了Django,可以讓我們快速的建立許多厲害的服務~

相關資料可參考

https://docs.djangoproject.com/en/3.2/topics/db/models/


上一篇
[Day14] - Django Admin 介紹
下一篇
[Day 16] - Django View , Url -- 功能執行的要角
系列文
使用Django Rest Framework, Docker, Docker Compose 製作後端服務應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言